The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
The servers that provide some of the most popular web-based services in networked computing may often attract network traffic from thousands of client device types that in total generate millions, or even billions, of network requests on a daily basis. In order to efficiently handle network traffic levels of these scales, among other reasons, web-based application providers commonly utilize proxy servers in web-based application network infrastructures. In general, a proxy server acts as an intermediary between requesting clients and the origin servers that process the client requests. In this manner, proxy servers provide a centralized point of ingress and egress for network traffic in a web-based application network infrastructure and enable the implementation of various network policies or functions at the proxy in order to reduce processing demands on the origin servers, manage the flow of network traffic, and gain insights into system behavior. Examples of policies or functions include caching, diagnosing error conditions, load balancing, and authentication, and authorization.
Certain proxy servers are primarily implemented as application software that runs on a server and are generally configured for specific situations. However, existing proxy server applications have a number of disadvantages. For example, existing proxy server applications provide primarily for the specification of statically defined network behaviors that are configurable in only a limited number of ways defined by the application. Further, even minor modifications to existing proxy server applications typically require the redeployment or rebooting of the entire proxy server application to any proxy servers running the application. These factors and others often complicate the challenge of responding to the ever-changing network conditions in web-based application environments that often call for timely modifications to be made to proxy server configurations in order to protect back-end systems, combat rogue clients, diagnose problems, modify application behavior, and otherwise ensure the accessibility of web-based services.